<?php
App::uses('Sanitize','Utility');
class CustomersController extends AppController {	
	public $uses = array('Customer','City');
    public function index() {
		$conditions = array();		
		$arr = array('name','username','email','address','tel');
		$city_id = '';
		foreach($arr as $item){
			$$item = '';
		}
		if($this->request->is('get')){
			foreach($arr as $item){
				if(!empty($this->params->query[$item])){
					$$item = Sanitize::escape($this->params->query[$item]);
					$conditions['and']["{$item} like"] = "%{$$item}%";
				}
			}
			
			if(!empty($this->params->query['city_id'])){
				$city_id = Sanitize::escape($this->params->query['city_id']);
				$conditions['and']['city_id'] = $city_id;
			}
		}
		$this->paginate = array(
			'limit'=>10,
			'recursive'=>0,
			'conditions'=>$conditions,
			'order'=>'Customer.id desc'
		);
        $rs = $this->paginate('Customer');
		$cities = $this->City->find('list',array('fields'=>array('id','name'),'order'=>'orderby asc'));		
		$this->set(compact('rs','name','username','email','address','tel','cities','city_id'));
		if($this->request->is('ajax')){
			$this->layout = 'ajax';
			$this->render('ajax_search');
		}
    }
	
	public function add() {
        if ($this->request->is('post')) {
            $this->Customer->create();
            if ($this->Customer->save($this->request->data,true)) {
                $this->Session->setFlash(__('Đã được lưu'));
                $this->redirect(array('action' => '.'));
            } else {
                $this->Session->setFlash(__('Có lỗi, không lưu được, xin thử lại'));
            }
        }
		$cities = $this->City->find('list',array('fields'=>array('id','name'),'order'=>'orderby asc'));
		$this->set(compact('cities'));
    }

    public function edit($id = null) {
        $this->Customer->id = $id;
        if (!$this->Customer->exists()) {
            throw new NotFoundException(__('Không tìm thấy'));
        }
        if ($this->request->is('post') || $this->request->is('put')) {
            if ($this->Customer->save($this->request->data)) {
                $this->Session->setFlash(__('Đã được lưu'));
                $this->redirect(array('action' => 'index'));
            } else {
                $this->Session->setFlash(__('Có lỗi, không lưu được, xin thử lại'));
            }
        } else {
            $this->request->data = $this->Customer->read(null, $id);			
        }
		$cities = $this->City->find('list',array('fields'=>array('id','name'),'order'=>'orderby asc'));
		$this->set(compact('cities'));
    }
	
	public function changestatus($id = null, $del_flag = null) {
        $this->Customer->id = $id;
        if (!$this->Customer->exists()) {
            throw new NotFoundException(__('Không tìm thấy'));
        }
		
		$del_flag = $del_flag==0?1:0;
		$this->Customer->id = $id;
        if ($this->Customer->saveField('del_flag',$del_flag)) {
            $this->Session->setFlash(__('Đã được cập nhật'));
            $this->redirect(array('action' => 'index'));
        }
        $this->Session->setFlash(__('Có lỗi, không cập nhật được'));
        $this->redirect(array('action' => 'index'));
    }
	
	public function delete($id = null) {
		if($id==null) die("No ID received");		
		if($this->Customer->delete($id)==false){
			$this->Session->setFlash('Bị lỗi không xóa được');
		}
		else {
			$this->Session->setFlash('Item đã được xóa khỏi danh sách');
		}
		$this->redirect(array('action'=>'index'));
    }
}
